This disclosure relates generally to domain name system (DNS) servers and, more particularly, to systems and methods configured to compare DNS system data, identify inconsistencies between multiple systems' data, and resolve the inconsistencies.
DNS is a naming service commonly used in modern Internet Protocol (IP) computer networks, including the Internet. One function of DNS is to facilitate mapping of domain names, such as “www.whitehouse.gov”, to a particular IP address, such as “204.93.46.227”. A client computer using DNS services will receive, for example, a domain name from a user who types in “www.whitehouse.gov” into a browser. The client computer uses DNS services to translate “www.whitehouse.gov” into the IP address “204.93.46.227” for a target server (i.e., the Whitehouse's Internet server). The client computer then uses the IP address to initiate communication with the target web server. IP networks require IP addresses in order to properly communicate, but humans do not easily remember IP addresses. DNS services facilitate behind-the-scenes translation of domain names to IP addresses, thereby allowing computers and computer users to use the more easily remembered domain names rather than IP addresses when referencing other computers on the computer network.
Management of DNS services for large networks, such as the Internet, is a complex task. To distribute management responsibilities, DNS services are organized as a hierarchical system of computers (i.e., many DNS systems) that share management of many “domains” within the network. The network is organized into a “domain name space” that is divided and sub-divided into zones (also referred to as “zones of authority”), where each zone is then managed by a particular DNS system (also referred to as the “authoritative name server” for that domain). For example, “Company XY” may have a domain, and a zone of authority, for “companyxy.com”. To manage that domain, Company XY may have one or more DNS servers that manage the “companyxy.com” zone.
When Company XY has multiple DNS systems managing the “companyxy.com” zone, consistency problems between DNS systems may arise. For example, presume Company XY has two separate DNS systems in use, one for their desktop users (i.e., their employees), and another for their datacenter systems (i.e., their infrastructure support servers). If a particular record within the desktop DNS system is updated with information, but the related record in the datacenter DNS system is not, then desktop users and datacenter systems will interact with different systems, or receive different responses. Such inconsistencies may have negative impacts, and sometimes difficult to detect impacts, such as routing to different versions of the same web site or to different target servers. Further, the various DNS systems may be implemented with differing DNS software. For example, the datacenter DNS system may implement Berkeley Internet Name Domain version 9 (BIND9), while the desktop DNS system may implement Microsoft® DNS with Active Directory. (Microsoft is a registered trademark of Microsoft Corporation, Redmond, Wash.). Such differing systems make comparison of configuration information difficult. What is needed is a system and method for identifying and resolving inconsistencies between DNS systems.